beforeChange{ }
afterChange{
  ClassLoader oldCl=null;
  WeldProxyClassLoadingDelegate.beginProxyRegeneration();
  try {
    final Set<ChangedClass> changedClasses=new HashSet<ChangedClass>(changed);
    for (    final ProxyFactory instance : proxyFactories.values()) {
      try {
        final Bean<?> bean=(Bean<?>)beanField.get(instance);
        for (        final ChangedClass clazz : changedClasses) {
          if (bean.getTypes().contains(clazz.getChangedClass())) {
            Thread.currentThread().setContextClassLoader(bean.getBeanClass().getClassLoader());
            instance.getProxyClass();
 catch (      IllegalAccessException e) {
        throw new RuntimeException(e);
    WeldProxyClassLoadingDelegate.endProxyRegeneration();
    Thread.currentThread().setContextClassLoader(oldCl);
}
addProxyFactory{
  proxyFactories.put(bean,factory);
}
